sfmesh使用JSON作为WKT的表示方法,包含一些节点信息,本文介绍相关节点信息。
- version:sfmesh的版本,目前为1。
- srid:空间参考ID。
- lod:LOD的层级信息。
- root:Node的根目录ID,默认为0。
- meshgeoms:所有引用到的meshgeom对象的数组,可以为引用对象。
- textures:所用的texture的对象数组。
- materials:所有材质的对象数组。
- primitives:所有的元组信息的数组,元组包含两种:meshgeom和mesh,其中meshgeom可以带材质信息,通过material关键字进行绑定。
- nodes:通过node可以定义树状结构,进行组织构建。可以包含几种属性:
- primitive: 对应的primitive的信息。
- children: 子对象数组
- matrix: 变换矩阵,采用以下方式进行描述。
/ a b c xoff \ | d e f yoff | | g h i zoff | \ 0 0 0 1 /
- id: 对象关联的ID信息。
{
"version":1,
"root":0,
"meshgeoms":[
"MESHGEOM(PATCH(TRIANGLESTRIP(0 0,0 10,10 10,10 0)))"
],
"meshes":[
"MESH(schema(@public@), table(@t_mesh@), column(@the_mesh@), key(@num=1@))"
],
"primitives":[
{
"mesh":0
},
{
"meshgeom":0
}
],
"nodes":[
{
"children":[
1,
2
],
"id":100
},
{
"primitive":0
},
{
"primitive":1,
"matrix":[
2,
0,
0,
1,
0,
2,
0,
3,
0,
0,
2,
4,
0,
0,
0,
1
],
"id":10
}
],
"materials":[
{
"type":"db",
"attributes":{
"schema":"public",
"table":"t_material",
"column":"the_material",
"key":"num=1"
}
}
],
"textures":[
{
"compressionType":"None",
"format":"JPEG",
"wrap":"Wrap",
"type":"Url",
"depth":3,
"width":256,
"height":256,
"size":15,
"data":"http://aaa.png"
}
]
}
sfmesh支持对其他sfmesh对象的引用,包含schema、table、column和key 四个关键字,其中后三个为必须的内容,字符串使用
@
进行包裹。/*
具体格式如下
MESH(
schema(@schema_name@),
table(@table_name@),
column(@column_name@),
key(@where_clause@)
)
*/
MESH(
schema(@public@),
table(@mytable@),
column(@mycolumn@),
key(@id=1@)
)